/*
 * @Author: wuqingchun
 * @Date: 2024-04-20 22:57:05
 * @Description: 
 * @LastEditors: wuqingchun
 * @LastEditTime: 2024-04-20 23:14:29
 */
#ifndef __SHAPE_CIRCLE_H__
#define __SHAPE_CIRCLE_H__

#include "shape_interface.h"

class Circle : public ISharp
{
public:
    // 静态成员变量(只读变量)
    // error: ‘constexpr’ needed for in-class initialization of static data member ‘const double Circle::PI’ of non-integral type [-fpermissive]
    //static const double PI = 3.1415926;
    static constexpr const double PI = 3.1415926;

public:
    Circle(/* args */);
    ~Circle();

    virtual void Draw() override;
    virtual double CalcArea() override;
    virtual double CalcPerimeter() override;
private:
    double m_dfRadius {0};//列表初始化
};


#endif //__SHAPE_CIRCLE_H__